package searchStudy;

public class Summary {
    /**
     * 总结：
     * 1、二分查找，通过控制返回点，也可以查找第一个大于等于某个值的值或者第一个大于某个值的值
     * 2、二分查找（升序），左坐标（不包括左坐标）左边的均小于目标值，右坐标（不包括右坐标）右边的均大于目标值（重要性质）
     * 3、三种情况，大于、小于、等于（重新确定范围是为了确定答案在那个区间，二分查找的精髓在于不断缩小查找的区间（一半一半的缩小），答案在那个区间）。
     * 4、对于不能确定区间，就要逐步缩小查找的区间
     * 5、二分查找要一半一半的舍弃，能够判断是否舍弃的那一半一般是有序的，另一半else就好了，二分查找就是要去一半一半的舍弃，时间复杂度才能达到logN
     * 6、用于判断的值始终是mid，如果不存在，最终的查找结果是第2条总结左坐标（不包括左坐标）左边的均小于目标值，右坐标（不包括右坐标）右边的均大于目标值（重要性质）
     * 7、当low=mid时，容易陷入死循环，所以中点取上届；反之亦然
     */
}
